import Vue from "vue";
import Vuex from "vuex";
// 导入用户模块数据
import userStore from "./modules/user";
// 导入Vuex持久化插件
import VuePersistedStatePlugin from "vuex-persistedstate";
// 使用插件的方式
Vue.use(Vuex);

const store = new Vuex.Store({
  state: {
    // 根数据，直接使用this.$store.state.count访问
    count: 0,
  },
  modules: {
    // 使用用户模块数据
    // 模块数据要使用 this.$store.state.模块名.数据key 访问
    // 例如：this.$store.state.userStore.nickname
    userStore,
  },
  plugins: [
    VuePersistedStatePlugin({
      // 将数据持久化到localStorage本地存储
      storage: window.localStorage,
      reducer(data) {
        return {
          userStore: data.userStore,
        };
      },
    }),
  ],
});

export default store;
